package CardDemo;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        //注意hashNext和hashLine的区别
        while(in.hasNext()){
            //注意while 处理多个case
            
        }
    }
    //编程题2
    private static  String func(String str){
        boolean[] flg =new boolean[100];//默认都是false
        StringBuilder stringBuilder =new StringBuilder();
        for (int i = 0; i < str.length(); i++) {
            char ch =str.charAt(i);
            if(flg[ch]==false){
                stringBuilder.append(ch);
                flg[ch] =true;
            }
        }
        return stringBuilder.toString();
    }
    //SE语法试卷中的编程题2
    public void merge(int[]num1,int m,int []num2,int n){
        int i=m-1;
        int j=n-1;
        int k=m+n-1;
        while(i>=0 && j>=0){
            if(num1[i]>num2[j]){
                num1[k--]=num1[i--];
            }else{
                num1[k--]=num2[j--];
            }
        }
        while(i>=0){
            num1[k--]=num1[i--];
        }
        while(j>=0){
            num1[k--]=num2[j--];
        }
    }
    public static void main1(String[] args) {
         ArrayList<String> list =new ArrayList<>();
        list.add("Java课程");
        list.add("JavaSE");
        list.add("JavaEE");
        list.add("JavaWeb");
        System.out.println(list);
        //获取list中的元素个数
        System.out.println(list.size());
        // 获取和设置index位置上的元素，注意index必须介于[0, size)间
        //System.out.println(list.get(1));
        System.out.println(list.set(1,"JavaJVM"));
        System.out.println(list.get(1));
        // 在list的index位置插入指定元素，index及后续的元素统一往后搬移一个位置
        list.add(1,"Java多线程");
        System.out.println(list);
        // 删除指定元素，找到了就删除，该元素之后的元素统一往前搬移一个位置
        list.remove(1);
        System.out.println(list);
        // 删除list中index位置上的元素，注意index不要超过list中有效元素个数,否则会抛出下标越界异常
        list.remove(list.size()-1);
        System.out.println(list);
        // 检测list中是否包含指定元素，包含返回true，否则返回false
        if(list.contains("测试工程")){
           list.add("测试工程");
            System.out.println(list);
        }
        // 查找指定元素第一次出现的位置：indexOf从前往后找，lastIndexOf从后往前找
        list.add("JavaSE");
        System.out.println(list.indexOf("JavaSE"));
        System.out.println(list.lastIndexOf("JavaSE"));
        // 使用list中[0, 4)之间的元素构成一个新的SubList返回,但是和ArrayList共用一个elementData数组
        List<String> ret = list.subList(1,3);
        System.out.println(ret);
        list.clear();
        System.out.println(list.size());
    }
}
